package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

import lombok.Data;

/**
 * @desc TargetBelongCycleDto
 * @使用场景
 */
@Data
public class TargetBelongCycleDto extends BaseDto implements Serializable {

  /**
   * 目标归属周期ID
   */
  @ApiModelProperty("目标归属周期ID")
  private String targetAttributionCycleId;

  /**
   * 评价对象树进度值计算公式标识
   */
  @ApiModelProperty("评价对象树进度值计算公式标识")
  private String evaProgressCalcCode;

  /**
   * 评价对象树实际值计算公式标识
   */
  @ApiModelProperty("评价对象树实际值计算公式标识")
  private String evaActualCalcCode;

  /**
   * 评价对象树目标得分计算公式标识
   */
  @ApiModelProperty("评价对象树目标得分计算公式标识")
  private String evaReportScoreCalcCode;

  /**
   * 评价对象树目标得分本级或下级变量
   */
  @ApiModelProperty("评价对象树目标得分本级或下级变量")
  private String rankOrDownCalc;

  /**
   * 评价对象树目标得分OKR变量 OKR:开启KR NO_KR:未开启KR
   */
  @ApiModelProperty("评价对象树目标得分OKR变量")
  private String okrOrNoOkr;

  /**
   * 评价对象树目标得分主客观变量 SUBJECTIVE:主观得分 OBJECTIVE:客观得分 SUBJECTIVE_AND_OBJECTIVE:主观得分+客观得分
   */
  @ApiModelProperty("评价对象树目标得分主客观变量")
  private String subAndObjModel;

  /**
   * 其他树进度值计算公式标识
   */
  @ApiModelProperty("其他树进度值计算公式标识")
  private String otherProgressCalcCode;

  /**
   * 其他树实际值计算公式标识
   */
  @ApiModelProperty("其他树实际值计算公式标识")
  private String otherActualCalcCode;

  /**
   * 其他树目标得分计算公式标识
   */
  @ApiModelProperty("其他树目标得分计算公式标识")
  private String otherReportScoreCalcCode;

  /**
   * 实际值冗余单位
   */
  @ApiModelProperty("实际值冗余单位")
  private String actualValueUnit;

  /**
   * 量化综合得分
   */
  @ApiModelProperty("量化综合得分")
  private Double quantitativeCompreScore;

  /**
   * 主观综合得分
   */
  @ApiModelProperty("主观综合得分")
  private Double subjectiveCompreScore;

  /**
   * 上一归属周期ID
   */
  @ApiModelProperty("上一归属周期ID")
  private String previousCycleId;

  /**
   * 归属周期ID
   */
  @ApiModelProperty("归属周期ID")
  private String cycleId;

  /**
   * 周期开始时间
   */
  @ApiModelProperty("周期开始时间")
  private Date cycleStartTime;

  /**
   * 周期结束时间
   */
  @ApiModelProperty("周期结束时间")
  private Date cycleEndTime;

  /**
   * 周期类型标识
   */
  @ApiModelProperty("周期类型标识")
  private String cycleTypeCode;

  /**
   * 周期类型实例标识
   */
  @ApiModelProperty("周期类型实例标识")
  private String cycleTypeInstanceCode;

  /**
   * 归属周期排序
   */
  @ApiModelProperty("归属周期排序")
  private Long orderNumber;

  /**
   * 最近可循环周期类型编码
   */
  @ApiModelProperty("最近可循环周期类型编码")
  private String nextCyclePeriod;

  /**
   * 最近可循环最新周期ID
   */
  @ApiModelProperty("最近可循环最新周期ID")
  private String recentlyNewCycleId;

  /**
   * 父子中过程周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
   */
  @ApiModelProperty("父子中过程周期类型")
  private String parentSubMidCycleType;

  /**
   * 是否工作周期数据 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否工作周期数据")
  private String isWorkCycleData;

  /**
   * 工作周期更新切片
   */
  @ApiModelProperty("工作周期更新切片")
  private String workCycleUpdateSlice;

  /**
   * 本目标归属周期的计算周期五模型 LAST_CYCLE:末级周期 MID_OF_PROCESS_CYCLE:中间周期 SUB_CYCLE:子周期 MID_CYCLE:中期 PARENT_CYCLE:父周期
   */
  @ApiModelProperty("本目标归属周期的计算周期五模型")
  private String standardDataCalcCycleModel;

  /**
   * 与末级周期同体类型分析结果 SUB_CYCLE_SAME_AS_LAST_CYCLE_TYPE:子周期与末级周期同体 MID_OF_PROCESS_SAME_AS_LAST_CYCLE_TYPE:过程中间期与末级周期同体 NORMAL:正常
   */
  @ApiModelProperty("与末级周期同体类型分析结果")
  private String subCycleIsLastCycle;

  /**
   * 末级周期计算模型ID
   */
  @ApiModelProperty("末级周期计算模型ID")
  private String lastCycleCalcModelId;

  /**
   * 过程中间周期计算模型ID
   */
  @ApiModelProperty("过程中间周期计算模型ID")
  private String processCycleCalcModelId;

  /**
   * 子周期计算模型ID
   */
  @ApiModelProperty("子周期计算模型ID")
  private String subCycleCalcModelId;

  /**
   * 中期计算模型ID
   */
  @ApiModelProperty("中期计算模型ID")
  private String midCycleCalcModelId;

  /**
   * 父周期计算模型ID
   */
  @ApiModelProperty("父周期计算模型ID")
  private String parentCycleCalcModelId;

  /**
   * 评价对象目标周期ID
   */
  @ApiModelProperty("评价对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 部门目标任务书目标周期ID
   */
  @ApiModelProperty("部门目标任务书目标周期ID")
  private String mLevelEvaObjTargetCycleId;

  /**
   * OKR部门目标周期ID
   */
  @ApiModelProperty("OKR部门目标周期ID")
  private String okrDptEvaObjTargetCycleId;

  /**
   * OKR个人目标周期ID
   */
  @ApiModelProperty("OKR个人目标周期ID")
  private String okrPsEvaObjTargetCycleId;

  /**
   * 评价对象起始值
   */
  @ApiModelProperty("评价对象起始值")
  private Double evaTargetStartValue;

  /**
   * 评价对象目标值
   */
  @ApiModelProperty("评价对象目标值")
  private Double evaTargetValue;

  /**
   * 评价对象诊断值
   */
  @ApiModelProperty("评价对象诊断值")
  private Double evaTargetDiagnosticValue;

  /**
   * 评价对象权重
   */
  @ApiModelProperty("评价对象权重")
  private Double evaWeightValue;

  /**
   * 评价对象权重分
   */
  @ApiModelProperty("评价对象权重分")
  private Double evaWeightScore;

  /**
   * 部门目标任务书权重
   */
  @ApiModelProperty("部门目标任务书权重")
  private Double mLevelEvaWeightValue;

  /**
   * 部门目标任务书权重分
   */
  @ApiModelProperty("部门目标任务书权重分")
  private Double mLevelEvaWeightScore;

  /**
   * OKR部门权重
   */
  @ApiModelProperty("OKR部门权重")
  private Double okrDptEvaWeightValue;

  /**
   * OKR部门权重分
   */
  @ApiModelProperty("OKR部门权重分")
  private Double okrDptEvaWeightScore;

  /**
   * OKR个人权重
   */
  @ApiModelProperty("OKR个人权重")
  private String okrPsEvaWeightValue;

  /**
   * OKR个人权重分
   */
  @ApiModelProperty("OKR个人权重分")
  private Double okrPsEvaWeightScore;

  /**
   * 来自内容表类型编码 ORG_OR_DEPT:组织或部门 INTELLIGENT_HARDWARE_EQUIPMENT:智能硬件设备 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表 OMS_VIRTUAL_ORG:虚拟组织表 OMS_MESSAGE:消息表 OMS_MESSAGE_LOCATION:消息位置表 OMS_MESSAGE_MEMBER:成员接收消息表 OMS_MESSAGE_MEMBER_CHANNEL_RELATION:成员通道关系表
   */
  @ApiModelProperty("来自内容表类型编码")
  private String fromContentTableTypeCode;

  /**
   * 来自内容表主键ID
   */
  @ApiModelProperty("来自内容表主键ID")
  private String fromContentEntityId;

  /**
   * 归属内容表类型编码 ORG_OR_DEPT:组织或部门 INTELLIGENT_HARDWARE_EQUIPMENT:智能硬件设备 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表 OMS_VIRTUAL_ORG:虚拟组织表 OMS_MESSAGE:消息表 OMS_MESSAGE_LOCATION:消息位置表 OMS_MESSAGE_MEMBER:成员接收消息表 OMS_MESSAGE_MEMBER_CHANNEL_RELATION:成员通道关系表
   */
  @ApiModelProperty("归属内容表类型编码")
  private String tableTypeCode;

  /**
   * 归属内容表主键ID
   */
  @ApiModelProperty("归属内容表主键ID")
  private String entityId;

  /**
   * 上级被评对象目标周期标识
   */
  @ApiModelProperty("上级被评对象目标周期标识")
  private String parentEvaObjTargetCycleId;

  /**
   * 被评对象目标周期标识
   */
  @ApiModelProperty("被评对象目标周期标识")
  private String evaObjTargetCycleCode;

  /**
   * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
   */
  @ApiModelProperty("关联目标内容类型编码")
  private String targetCycleContentTypeCode;

  /**
   * 数据归属内容表类型编码 ORG_OR_DEPT:组织或部门 INTELLIGENT_HARDWARE_EQUIPMENT:智能硬件设备 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表 OMS_VIRTUAL_ORG:虚拟组织表 OMS_MESSAGE:消息表 OMS_MESSAGE_LOCATION:消息位置表 OMS_MESSAGE_MEMBER:成员接收消息表 OMS_MESSAGE_MEMBER_CHANNEL_RELATION:成员通道关系表
   */
  @ApiModelProperty("数据归属内容表类型编码")
  private String belongToContentTypeCode;

  /**
   * 数据归属内容表主键ID
   */
  @ApiModelProperty("数据归属内容表主键ID")
  private String belongToContentId;

  /**
   * 目标分类表类型
   */
  @ApiModelProperty("目标分类表类型")
  private String categoryTableTypeCode;

  /**
   * 一级目标分类id
   */
  @ApiModelProperty("一级目标分类id")
  private String oneLevelCategoryId;

  /**
   * 冗余评价模板ID
   */
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  /**
   * 是否末级指标 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否末级指标")
  private String isLastObjective;

  /**
   * 目标内容汇报对象设置项编码 PRIMARY_TASK:一级建设任务 SECONDARY_TASK:二级建设任务 PRIMARY_OBSERVATION_POINT:二级以下建设任务或一级观测点 SECONDARY_OBSERVATION_POINT:二级观测点 OTHER_OBSERVATION_POINT:二级以下观测点
   */
  @ApiModelProperty("目标内容汇报对象设置项编码")
  private String reportObjectSetCode;

  /**
   * 冗余指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
   */
  @ApiModelProperty("冗余指标业务类型")
  private String targetValueType;

  /**
   * 冗余是否左侧比例型 TRUE:是 FALSE:否
   */
  @ApiModelProperty("冗余是否左侧比例型")
  private String isLeft;

  /**
   * 是否开启主观评分 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启主观评分")
  private String isSubjectiveScoring;

  /**
   * 是否开启量化客观评分 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启量化客观评分")
  private String isObjectiveQuantization;

  /**
   * 计算数据来源 MANUAL_FILLING:人工填报 SYSTEM_DOCKING:系统对接
   */
  @ApiModelProperty("计算数据来源")
  private String calculateDataSource;

  /**
   * 数量型指标当无实际值标记 TRUE:是 FALSE:否
   */
  @ApiModelProperty("数量型指标当无实际值标记")
  private String quantityObjectiveNoValue;

  /**
   * OKR目标属性 OBJECTIVES:目标O KEY_RESULTS:关键成果KR
   */
  @ApiModelProperty("OKR目标属性")
  private String indicatorKind;

  /**
   * 填报评价责任人身份类型编码 FILL_ROLE:填报角色 EVA_ROLE:评价角色 REPORT_ROLE:11111汇报角色
   */
  @ApiModelProperty("填报评价责任人身份类型编码")
  private String personLiableTypeCode;

  /**
   * 填报评价责任人对象ID
   */
  @ApiModelProperty("填报评价责任人对象ID")
  private String personLiableObjId;

  /**
   * 填报评价责任人业务角色对象ID
   */
  @ApiModelProperty("填报评价责任人业务角色对象ID")
  private String bizRoleObjId;

  /**
   * 填报评价责任人业务角色标识
   */
  @ApiModelProperty("填报评价责任人业务角色标识")
  private String bizRoleObjCode;

  /**
   * 填报评价责任人业务角色对象名称
   */
  @ApiModelProperty("填报评价责任人业务角色对象名称")
  private String bizRoleObjName;

  /**
   * 数据归属个人ID
   */
  @ApiModelProperty("数据归属个人ID")
  private String belongToPersonalIdentityId;

  /**
   * 数据归属个人身份类型编码
   */
  @ApiModelProperty("数据归属个人身份类型编码")
  private String belongToPersonalIdentityTypeCode;

  /**
   * 主树被评对象内容表主键ID
   */
  @ApiModelProperty("主树被评对象内容表主键ID")
  private String evaObjEntityId;

  /**
   * 目标周期ID
   */
  @ApiModelProperty("目标周期ID")
  private String targetCycleId;

  /**
   * 主树被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
   */
  @ApiModelProperty("主树被评对象类型编码")
  private String evaObjTypeCode;

  /**
   * 上一被评对象目标周期ID
   */
  @ApiModelProperty("上一被评对象目标周期ID")
  private String lastEvaObjTargetCycleId;

  /**
   * 评价画像目标周期ID
   */
  @ApiModelProperty("评价画像目标周期ID")
  private String evaPortraitEvaObjTargetCycleId;

  /**
   * 大屏归属最高组织ID
   */
  @ApiModelProperty("大屏归属最高组织ID")
  private String dashboradOrganizationId;

  /**
   * 大屏归属一级部门ID
   */
  @ApiModelProperty("大屏归属一级部门ID")
  private String dashboradPrimaryDeptId;

  /**
   * 是否用于一级部门 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否用于一级部门")
  private String isUseFirstDept;

  /**
   * 大屏归属基层部门ID
   */
  @ApiModelProperty("大屏归属基层部门ID")
  private String dashboradBasicDeptId;

  /**
   * 大屏归属个人身份人员ID
   */
  @ApiModelProperty("大屏归属个人身份人员ID")
  private String dashboradOriginalRoleMemberId;

  /**
   * 大屏归属主管身份人员ID
   */
  @ApiModelProperty("大屏归属主管身份人员ID")
  private String dashboradDirectorOriginalRoleMemberId;

  /**
   * 大屏归属分管领导身份人员ID
   */
  @ApiModelProperty("大屏归属分管领导身份人员ID")
  private String dashboradDeptLeaderOriginalRoleMemberId;

  /**
   * 大屏归属评价对象ID
   */
  @ApiModelProperty("大屏归属评价对象ID")
  private String dashboradEvaluationObjectId;

  /**
   * 目标内容层级
   */
  @ApiModelProperty("目标内容层级")
  private String targetContentLevelNumber;

  /**
   * 周期名称
   */
  @ApiModelProperty("周期名称")
  private String cycleStandardName;

  /**
   * 是否末级周期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否末级周期")
  private String isLastCycle;

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    if (!super.equals(o)) return false;
    TargetBelongCycleDto that = (TargetBelongCycleDto) o;
    return (
      targetAttributionCycleId == that.targetAttributionCycleId &&
      evaProgressCalcCode == that.evaProgressCalcCode &&
      evaActualCalcCode == that.evaActualCalcCode &&
      evaReportScoreCalcCode == that.evaReportScoreCalcCode &&
      rankOrDownCalc == that.rankOrDownCalc &&
      okrOrNoOkr == that.okrOrNoOkr &&
      subAndObjModel == that.subAndObjModel &&
      otherProgressCalcCode == that.otherProgressCalcCode &&
      otherActualCalcCode == that.otherActualCalcCode &&
      otherReportScoreCalcCode == that.otherReportScoreCalcCode &&
      actualValueUnit == that.actualValueUnit &&
      quantitativeCompreScore == that.quantitativeCompreScore &&
      subjectiveCompreScore == that.subjectiveCompreScore &&
      previousCycleId == that.previousCycleId &&
      cycleId == that.cycleId &&
      cycleStartTime == that.cycleStartTime &&
      cycleEndTime == that.cycleEndTime &&
      cycleTypeCode == that.cycleTypeCode &&
      cycleTypeInstanceCode == that.cycleTypeInstanceCode &&
      orderNumber == that.orderNumber &&
      nextCyclePeriod == that.nextCyclePeriod &&
      recentlyNewCycleId == that.recentlyNewCycleId &&
      parentSubMidCycleType == that.parentSubMidCycleType &&
      isWorkCycleData == that.isWorkCycleData &&
      workCycleUpdateSlice == that.workCycleUpdateSlice &&
      standardDataCalcCycleModel == that.standardDataCalcCycleModel &&
      subCycleIsLastCycle == that.subCycleIsLastCycle &&
      lastCycleCalcModelId == that.lastCycleCalcModelId &&
      processCycleCalcModelId == that.processCycleCalcModelId &&
      subCycleCalcModelId == that.subCycleCalcModelId &&
      midCycleCalcModelId == that.midCycleCalcModelId &&
      parentCycleCalcModelId == that.parentCycleCalcModelId &&
      evaObjTargetCycleId == that.evaObjTargetCycleId &&
      mLevelEvaObjTargetCycleId == that.mLevelEvaObjTargetCycleId &&
      okrDptEvaObjTargetCycleId == that.okrDptEvaObjTargetCycleId &&
      okrPsEvaObjTargetCycleId == that.okrPsEvaObjTargetCycleId &&
      evaTargetStartValue == that.evaTargetStartValue &&
      evaTargetValue == that.evaTargetValue &&
      evaTargetDiagnosticValue == that.evaTargetDiagnosticValue &&
      evaWeightValue == that.evaWeightValue &&
      evaWeightScore == that.evaWeightScore &&
      mLevelEvaWeightValue == that.mLevelEvaWeightValue &&
      mLevelEvaWeightScore == that.mLevelEvaWeightScore &&
      okrDptEvaWeightValue == that.okrDptEvaWeightValue &&
      okrDptEvaWeightScore == that.okrDptEvaWeightScore &&
      okrPsEvaWeightValue == that.okrPsEvaWeightValue &&
      okrPsEvaWeightScore == that.okrPsEvaWeightScore &&
      fromContentTableTypeCode == that.fromContentTableTypeCode &&
      fromContentEntityId == that.fromContentEntityId &&
      tableTypeCode == that.tableTypeCode &&
      entityId == that.entityId &&
      parentEvaObjTargetCycleId == that.parentEvaObjTargetCycleId &&
      evaObjTargetCycleCode == that.evaObjTargetCycleCode &&
      targetCycleContentTypeCode == that.targetCycleContentTypeCode &&
      belongToContentTypeCode == that.belongToContentTypeCode &&
      belongToContentId == that.belongToContentId &&
      categoryTableTypeCode == that.categoryTableTypeCode &&
      oneLevelCategoryId == that.oneLevelCategoryId &&
      evaluationTemplateId == that.evaluationTemplateId &&
      isLastObjective == that.isLastObjective &&
      reportObjectSetCode == that.reportObjectSetCode &&
      targetValueType == that.targetValueType &&
      isLeft == that.isLeft &&
      isSubjectiveScoring == that.isSubjectiveScoring &&
      isObjectiveQuantization == that.isObjectiveQuantization &&
      calculateDataSource == that.calculateDataSource &&
      quantityObjectiveNoValue == that.quantityObjectiveNoValue &&
      indicatorKind == that.indicatorKind &&
      personLiableTypeCode == that.personLiableTypeCode &&
      personLiableObjId == that.personLiableObjId &&
      bizRoleObjId == that.bizRoleObjId &&
      bizRoleObjCode == that.bizRoleObjCode &&
      bizRoleObjName == that.bizRoleObjName &&
      belongToPersonalIdentityId == that.belongToPersonalIdentityId &&
      belongToPersonalIdentityTypeCode ==
      that.belongToPersonalIdentityTypeCode &&
      evaObjEntityId == that.evaObjEntityId &&
      targetCycleId == that.targetCycleId &&
      evaObjTypeCode == that.evaObjTypeCode &&
      lastEvaObjTargetCycleId == that.lastEvaObjTargetCycleId &&
      evaPortraitEvaObjTargetCycleId == that.evaPortraitEvaObjTargetCycleId &&
      dashboradOrganizationId == that.dashboradOrganizationId &&
      dashboradPrimaryDeptId == that.dashboradPrimaryDeptId &&
      isUseFirstDept == that.isUseFirstDept &&
      dashboradBasicDeptId == that.dashboradBasicDeptId &&
      dashboradOriginalRoleMemberId == that.dashboradOriginalRoleMemberId &&
      dashboradDirectorOriginalRoleMemberId ==
      that.dashboradDirectorOriginalRoleMemberId &&
      dashboradDeptLeaderOriginalRoleMemberId ==
      that.dashboradDeptLeaderOriginalRoleMemberId &&
      dashboradEvaluationObjectId == that.dashboradEvaluationObjectId &&
      targetContentLevelNumber == that.targetContentLevelNumber &&
      cycleStandardName == that.cycleStandardName &&
      isLastCycle == that.isLastCycle
    );
  }

  @Override
  public int hashCode() {
    return Objects.hash(
      super.hashCode(),
      targetAttributionCycleId,
      evaProgressCalcCode,
      evaActualCalcCode,
      evaReportScoreCalcCode,
      rankOrDownCalc,
      okrOrNoOkr,
      subAndObjModel,
      otherProgressCalcCode,
      otherActualCalcCode,
      otherReportScoreCalcCode,
      actualValueUnit,
      quantitativeCompreScore,
      subjectiveCompreScore,
      previousCycleId,
      cycleId,
      cycleStartTime,
      cycleEndTime,
      cycleTypeCode,
      cycleTypeInstanceCode,
      orderNumber,
      nextCyclePeriod,
      recentlyNewCycleId,
      parentSubMidCycleType,
      isWorkCycleData,
      workCycleUpdateSlice,
      standardDataCalcCycleModel,
      subCycleIsLastCycle,
      lastCycleCalcModelId,
      processCycleCalcModelId,
      subCycleCalcModelId,
      midCycleCalcModelId,
      parentCycleCalcModelId,
      evaObjTargetCycleId,
      mLevelEvaObjTargetCycleId,
      okrDptEvaObjTargetCycleId,
      okrPsEvaObjTargetCycleId,
      evaTargetStartValue,
      evaTargetValue,
      evaTargetDiagnosticValue,
      evaWeightValue,
      evaWeightScore,
      mLevelEvaWeightValue,
      mLevelEvaWeightScore,
      okrDptEvaWeightValue,
      okrDptEvaWeightScore,
      okrPsEvaWeightValue,
      okrPsEvaWeightScore,
      fromContentTableTypeCode,
      fromContentEntityId,
      tableTypeCode,
      entityId,
      parentEvaObjTargetCycleId,
      evaObjTargetCycleCode,
      targetCycleContentTypeCode,
      belongToContentTypeCode,
      belongToContentId,
      categoryTableTypeCode,
      oneLevelCategoryId,
      evaluationTemplateId,
      isLastObjective,
      reportObjectSetCode,
      targetValueType,
      isLeft,
      isSubjectiveScoring,
      isObjectiveQuantization,
      calculateDataSource,
      quantityObjectiveNoValue,
      indicatorKind,
      personLiableTypeCode,
      personLiableObjId,
      bizRoleObjId,
      bizRoleObjCode,
      bizRoleObjName,
      belongToPersonalIdentityId,
      belongToPersonalIdentityTypeCode,
      evaObjEntityId,
      targetCycleId,
      evaObjTypeCode,
      lastEvaObjTargetCycleId,
      evaPortraitEvaObjTargetCycleId,
      dashboradOrganizationId,
      dashboradPrimaryDeptId,
      isUseFirstDept,
      dashboradBasicDeptId,
      dashboradOriginalRoleMemberId,
      dashboradDirectorOriginalRoleMemberId,
      dashboradDeptLeaderOriginalRoleMemberId,
      dashboradEvaluationObjectId,
      targetContentLevelNumber,
      cycleStandardName,
      isLastCycle
    );
  }

}
